#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
#include <stdlib.h>

void *func(void *arg)
{
    static int i = 0;
    while(1)
    {
        printf("i = %d\n", i++);
        sleep(1);
        if(i == 10)
        {
            pthread_exit(&i); //回收线程
        }
    }
}

int main(int argc, char const *argv[])
{
    pthread_t tid1;
    pthread_create(&tid1, NULL, func, NULL);

    void *buf;
    pthread_join(tid1, &buf); //回收线程
    printf("buf = %d\n", *(int *)buf);
    
    return 0;
}
